package com.adcc.swingui.demo.menubar;

import java.awt.Container;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

import com.adcc.swingui.base.DefaultMenuBar;
import com.jidesoft.swing.JideMenu;

/**
 * 文件菜单
 * 
 * @author charlie
 * 
 */
public class FileMenuBut extends DefaultMenuBar {
	JMenu menu;
	/**
	 * 只有国际化时能用，创建菜单对象是不能用
	 */
	public FileMenuBut() {
		// TODO Auto-generated constructor stub
		super(null);
	}
	public FileMenuBut(Container container) {
		super(container);
	}

	@Override
	protected JComponent build() {
		menu = new JideMenu("文件");
		menu.setMnemonic('F');

		// 打开文件
		openFileBulid(this, menu);

		// 保存图片
		saveBulid(this, menu);

		// 打印
		printerBulid(this, menu);
		// 分割符
		menu.addSeparator();

		// 飞机清除
		flightFilterBulid(this, menu);

		// 退出
		exitBulid(this, menu);
		
		return menu;
	}
	
	/**
	 * 打开文件构建
	 * @param bar
	 * @param menu
	 */
	public static void openFileBulid(DefaultMenuBar bar, JMenu menu) {
		// 打开文件
		JMenuItem openItem = new JMenuItem("打开文件", new ImageIcon(
				"res/images/open_file.png"));
		bar.addChildMenu(menu, openItem, "openFile", true);
	}

	/**
	 * 打开文件
	 */
	public void openFile() {
		System.out.println("open");
	}

	/**
	 * 保存图片构建
	 */
	public static void saveBulid(DefaultMenuBar bar, JMenu menu) {
		JMenuItem saveItem = new JMenuItem("保存图片", new ImageIcon(
				"res/images/save_picture.png"));
		bar.addChildMenu(menu, saveItem, "savePicture", true);
	}
	
	/**
	 * 保存图片
	 */
	public void savePicture() {
		System.out.println("save");
	}
	
	/**
	 * 打印构建
	 */
	public static void printerBulid(DefaultMenuBar bar, JMenu menu) {
		JMenuItem printItem = new JMenuItem("打印", new ImageIcon("res/images/printer.png"));
		bar.addChildMenu(menu, printItem, "printer", true);
	}

	/**
	 * 打印
	 */
	public void printer() {
		System.out.println("print");
	}
	
	/**
	 * 飞机清除构建
	 */
	public static void flightFilterBulid(DefaultMenuBar bar, JMenu menu) {
		JMenuItem flightItem = new JMenuItem("飞机清除", new ImageIcon(
				"res/images/filter.png"));
		bar.addChildMenu(menu, flightItem, "flightFilter", true);
	}

	/**
	 * 飞机清除
	 */
	public void flightFilter() {
		System.out.println("clear");
	}
	
	/**
	 * 退出系统构建
	 */
	public static void exitBulid(DefaultMenuBar bar, JMenu menu) {
		JMenuItem exitItem = new JMenuItem("退出", new ImageIcon("res/images/exit.png"));
		bar.addChildMenu(menu, exitItem, "exit", true);
	}

	/**
	 * 退出系统
	 */
	public void exit() {
		System.out.println("exit");
	}

	@Override
	protected void offLineVisiable(List<JComponent> jcomps) {
		// TODO Auto-generated method stub

	}
}
